Table format multi-dimensional data translation method and device

ABSTRACT

The invention includes a first process of inserting one row below each row of a column heading of an original table, inserting one column to the right of each column of a row heading, and entering a corresponding ID into each cell of the inserted row or column; a second process of inserting one row between the column heading and data portion, inserting one column between the row heading and data portion, and entering an ID of the dimension when inserted cells indicate a value of a dimension, entering no data when inserted cells indicate a measure, and entering an ID of a measure into a cell at the intersection of the inserted row and column when column headings and row headings indicate dimension&#39;s values; and a third process of identifying a dimension, value thereof, or measure corresponding to each cell of the data portion of the created template table.

CLAIM OF PRIORITY

The present application claims priority from Japanese patent applicationJP 2013-158408 filed on Jul. 31, 2013, the content of which is herebyincorporated by reference into this application.

BACKGROUND

Technical Field

The present invention relates to a method and device for importing tableformat multi-dimensional data and translating the data into a formatthat can be easily processed by a computer.

Background Art

Nowadays, there is an increasing need for the following processes to beperformed.

(1) A process of filtering multi-dimensional data, such as statisticaldata represented in a table format, from a variety of perspectives, andaccumulating the resultant data.

(2) A process of integrating pieces of multi-dimensional data, which arerepresented in different table formats, into a single piece ofmulti-dimensional data.

However, multi-dimensional data represented in a table format is usuallynot suitable for computer processing. Thus, in recent years,multi-dimensional data has been attempted to be represented in a formatcalled RDF (Resource Description Framework) so as to be adapted to theaforementioned computer processing. For example, when tabular datarepresented by three rows×three columns as shown in FIG. 1 or 2 isrepresented in the RDF format, it will be schematically represented in anetwork format as shown in FIG. 3. FIG. 3 represents “cell 1,” which iscontained in the data portion (i.e., 2 rows×2 columns of cells) of thetable shown in FIGS. 1 and 2, in the RDF format. Data in each cell isdescribed with dimension information and measure information foruniquely identifying the cell. When such a description method isadopted, even if the same cell is described in different table formats,the cell will be represented the same in the RDF format, whereby itbecomes easier to perform a filtering process, an integration process,or the like with a computer.

As described above, although table formats are usually not suitable forcomputer processing, they are easy to handle by humans. Meanwhile, whenthousands of pieces of multi-dimensional data are represented in the RDFformat, problems would arise that humans would not be able to easilyrecognize the relationship among the pieces of data and that the RDFformat lacks a data listing property. In addition, another problem wouldarise that with the RDF format, it would be difficult for humans to findout the intended data and further edit the data. Further, while a tableformat allows elements of row headings or column headings (e.g.,“shipment value of products” in FIG. 2) to be changed at once, if thesame process is to be executed on data in the RDF format, it would benecessary to change all pieces of information on the corresponding nodesand links (e.g., the node of “ex:vStocks” and the link thereof in thecase of FIG. 3) for individual cells.

SUMMARY

Therefore, it is desired that a single piece of multi-dimensional databe able to be mutually translated between a two-dimensional table formatthat is easy to handle by humans and the RFD format that is easy tohandle by computers. However, when a process of translating data in atable format into data in the RDF format is executed with a computer, itis often the case that the table format lacks information that isnecessary for computer processing. Hereinafter, description will be madewith reference to a specific example.

First, information that is necessary to process multi-dimensional datawith a computer will be described. Constituent data (i.e., cells) of atable represent observed values that have been measured from a pluralityof perspectives. For example, constituent data (i.e., cell) denoted byreference numeral 105 in FIG. 1 represents the shipment value ofproducts corresponding to “prefecture” called “Hokkaido.” In the absenceof the perspective “Hokkaido” that is the element of “Prefecture,” theconstituent data (i.e., cell) will have no meaning. Hereinafter,“Prefecture” will be referred to as a dimension, and “Hokkaido” will bereferred to as the value of the dimension. Although FIG. 1 describesonly “Hokkaido” that represents the value of a dimension, humans wouldbe able to easily predict that “Hokkaido” represents the value of thedimension: “Prefecture” by seeing the whole table. However, as there isalso a possibility that “Hokkaido” may represent the value of anotherdimension such as “industrial area,” the dimension should be explicitlystated in order to perform computer processing.

In addition, the “shipment value of products” in a column heading, whichis denoted by reference numeral 101, represents not a dimension thatdetermines an observed value, but represents a measurement targetregarding an observed value. Such information will be referred to as ameasure. Herein, although humans are able to understand that the“shipment value of products” represents a “measure,” it would benecessary to clearly distinguish between the “measure” and the“dimension” in order to perform computer processing. The description“measure” is often omitted in tables for humans as described below.

Meanwhile, even when computer processing is to be performed, ifcharacter strings of dimensions, the values of the dimensions, andmeasures, such as “prefecture,” “Hokkaido,” and “shipment value ofproducts,” are provided with unique IDs such as URIs (Uniform ResourceIdentifier), it becomes possible to integrate pieces of data usingidentical IDs. However, as such IDs are not needed for tables forhumans, the table shown in FIG. 1 does not explicitly state such IDs.

In conclusion, the following features have been confirmed.

(1) In tables for humans, dimensions and measures are omitted in somecases.

(2) In tables for humans, dimensions and measures are not distinguishedfrom each other in many cases.

(3) In tables for humans, IDs of dimensions, the values of thedimensions, or measures are not explicitly stated, either.

Therefore, in order to execute a process of translating data in a tableformat into data in the RDF format with a computer, it would benecessary to describe missing information in the table for humans priorto performing the translation process. The inventors consider that if itis possible to naturally embed information that is necessary for atranslation process while preserving the structure of the table forhumans as much as possible, it becomes possible to translate the data inthe table format into data in the RDF format that can be processed by acomputer while maintaining the advantages of the table format that iseasy to handle by humans.

In order to solve the above problems, the inventors adopt the featuresrecited in the appended claims, for example. The present applicationcontains a plurality of means for solving the above problems. Oneexample thereof is a table format multi-dimensional data translationdevice (or method) that includes (1) a first processing unit (or a firstprocess) of inserting one row below each row of a column heading portionof an original table and entering an ID of a corresponding columnheading into each cell of the inserted row, and inserting a column tothe right of each column of a row heading portion of the original tableand entering an ID of a corresponding row heading into each cell of theinserted column; (2) a second processing unit (or process) of insertingone row between the column heading portion and a data portion, insertingone column between the row heading portion and the data portion, andentering, if a row of the column heading portion or a column of the rowheading portion indicates a value of a dimension, an ID of the dimensioninto the corresponding cell of inserted column or row, and entering, ifall of column headings and row headings indicate dimensions, an ID of ameasure into a cell at an intersection of the inserted row and column;and (3) a third processing unit (or process) of, from each cell of adata portion of a template table (i.e., intermediate table) created bythe first and second processing units (or processes) (the order ofexecution is not questioned), identifying a dimension, a value of thedimension, and a measure entered in the column heading or the rowheading corresponding to each cell, and outputting the information asdata in a RDF format.

According to the present invention, a template table (i.e., anintermediate table) is created by embedding into an original table,which has been entered, information that is necessary to translate theoriginal table into data in the RDF format without making any changes toa data portion of the original table. Further, information that isnecessary to create data in the RDF format is identified from thecreated template table (i.e., intermediate table). According to thepresent invention, it is possible to, by adopting such a processingmethod, translate a data portion of an original table, which has beenentered, into data in the RDF format that can be processed by a computerwhile maintaining the advantages of the table format that can be easilyhandled by humans. Other problems, configurations, and advantageouseffects will become apparent from the following description ofembodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of tabular data.

FIG. 2 is a diagram illustrating association between cell data thatconstitutes tabular data and information that is necessary to describedata in the RDF format.

FIG. 3 is a diagram showing a schematic example of RDF data.

FIG. 4 is a block diagram showing an exemplary configuration of a tableformat multi-dimensional data translation device.

FIG. 5 is a diagram showing an example of text representation of RDFdata.

FIG. 6 is a diagram showing an example of a template table havingembedded therein information that is necessary to create RDF.

FIG. 7 is a diagram showing an example of tabular data of a singlemeasure.

FIG. 8 is a diagram showing an example of a template table generatedfrom tabular data of a single measure.

FIG. 9 is a diagram showing an example of tabular data of a plurality ofmeasures.

FIG. 10 is a diagram showing an example of a template table generatedfrom tabular data of a plurality of measures.

FIG. 11 is a diagram showing an exemplary editing screen 1 for tabulardata and RDF data.

FIG. 12 is a diagram showing an exemplary editing screen 2 for tabulardata and RDF data.

FIG. 13 is a flowchart describing a process of generating a templatetable from tabular data.

FIG. 14 is a diagram showing an exemplary screen in which the locationof the intersection of a template row and a template column ishighlighted.

FIG. 15 is a diagram showing an exemplary screen in which a URI row,which has been inserted immediately below each row of column headings,is highlighted.

FIG. 16 is a diagram showing an exemplary screen in which a URI column,which has been inserted to the immediate right of each column of rowheadings, is highlighted.

FIG. 17 is a flowchart illustrating a process of switching the displayof a template table into a hidden state.

FIG. 18 is a flowchart illustrating a process of inserting a URI rowinto a template table.

FIG. 19 is a flowchart illustrating a process of deleting a URI row froma template table.

FIG. 20 is a flowchart illustrating a process of translating tabulardata into RDF data.

FIG. 21 is a flowchart illustrating a process of translating RDF datainto tabular data.

FIG. 22 is a diagram showing an example of tabular data translated fromRDF data.

FIG. 23 is a diagram showing an example of triples of RDF data.

DETAILED DESCRIPTION OF THE EMBODIMENT(S)

Hereinafter, embodiments of the present invention will be described withreference to the drawings. It should be noted that the embodiments ofthe present invention are not limited to those described below, andvarious variations are possible within the spirit and scope of theinvention.

Embodiment 1 (1) Device Configuration

FIG. 4 shows the configuration of a table format multi-dimensional datatranslation device in accordance with this embodiment. A table formatmulti-dimensional data translation device 400 includes a CPU 401, amemory 402, a keyboard/mouse 403, a display 404, a template generatingunit 405, a RDF translating unit 406, a table translating unit 407, aninput/output control unit 408, a display control unit 409, a datacommunication unit 410, and a secondary storage 411.

The CPU 401 executes a variety of processing by executing a variety ofprograms that constitute the template generating unit 405, the RDFtranslating unit 406, the table translating unit 407, the input/outputcontrol unit 408, and the display control unit 409. The memory 402temporarily stores a program executed by the CPU 401 and data that isnecessary to execute the program. The keyboard/mouse 403 receives aninput from a user. The display 404 displays an editing screen (e.g., anediting screen 1100 in FIG. 11 or an editing screen 1200 in FIG. 12)under the control of the display control unit 409. The secondary storage411 includes, for example, a hard disk for permanently storing inputdata, output data, and the like.

The template generating unit 405 is formed by a program for insertingrows or columns into tabular data to generate a template table (i.e.,intermediate table) having described therein information that isnecessary to create RDF (hereinafter also referred to as “informationfor creating RDF”). The RDF translating unit 406 is formed by a programfor translating data represented by each cell of a data portion oftabular data into data in the RDF format using the template table (i.e.,intermediate table) that has the necessary information describedtherein. The table translating unit 407 is formed by a program fortranslating data in the RDF format into data in a table format. Theinput/output control unit 408 controls input/output of data in the tableformat or the RDF format. The display control unit 409 is formed by aprogram for displaying an editing screen. The data communication unit410 is an interface for communicating data via a network 420, andincludes a LAN card that can perform communication using the TCP/IPprotocol, for example.

(2) Configuration of the Template Table

Before describing the details of a program that forms each unit, atemplate table (i.e., intermediate table) generated by the templategenerating unit 405 will be described. In the following description, thetable shown in FIGS. 1 and 2 is used as an original table, and atemplate table (i.e., intermediate table) is generated from the originaltable. Then, after necessary information is entered into the generatedtemplate table, data in each cell of the data portion is translated intodata in the RDF format by the RDF translating unit 406 described below.

As described above, FIG. 3 schematically shows the cell 1 in FIG. 2 inthe RDF format. In practice, data in the RDF format is output in a textformat such as the one shown in FIG. 5. As described above, when a tableis translated into RDF, information on a dimension, which represents aperspective of observation, the value of the dimension, and a measure,which represents an observation target, is described in a format such asthe one shown in FIG. 3 for each cell of the data portion of the tablethat contains the observed values. FIG. 3 represents that the value ofthe dimension: prefecture “ex:pref” of the cell 1 is Hokkaido as denotedby “pref:C00,” the measure: “qb:measureType” of the cell 1 is theshipment value of products as denoted by “ex:vStocks,” and the shipmentvalue of products: “ex:vStocks” of the cell 1 is “6182.” Herein,“ex:pref” or the like represents a unique ID called URI.

FIG. 2 shows which cell of the original table corresponds to informationon the cell 1 represented in the RDF format. The original table does notcontain the prefecture “ex:pref.” Although the original table containsinformation including “Hokkaido” that represents the value of adimension and the “shipment value of products” that represents ameasure, it does not contain information to the effect that the formerrepresents the value of a dimension and the latter represents a measure.Further, the original table does not contain the URI of suchinformation, either.

Thus, rows and columns are inserted into the table in FIGS. 1 and 2 toallow the above information to be described therein, whereby a templatetable (i.e., intermediate table) such as the one shown in FIG. 6 isgenerated. The details of a process of generating such template table(i.e., intermediate table) will be described later.

First, the template generating unit 405 inserts one row (i.e., row 602)below a row 601 of column headings to allow URIs of correspondingmeasures to be described in the row. Likewise, the template generatingunit 405 inserts one column (i.e., column 604) to the right of a column603 of row headings to allow URIs of corresponding values of a dimensionto be described therein. In the example of FIG. 6, URIs of correspondingmeasures and URIs of corresponding values of a dimension are alreadydescribed. It should be noted that it is also possible to insert one rowabove the row 601 of column headings and insert one column to the leftof the column 603 of row headings, unlike in FIG. 6.

Next, the template generating unit 405 also inserts one row (i.e., row605) between the column heading portion (i.e., the row 601 and the row602 in FIG. 6) and the data portion, and also inserts one column (i.e.,column 606) between the row heading portion (i.e., the column 603 andthe column 604 in FIG. 6) and the data portion. Although the exampleherein shows a case in which the row 605 and the column 606 are insertedafter the row 602 and the column 604 are inserted, the order ofinsertion is not limited thereto, and it is also possible to insert therow 602 and the column 604 after inserting the row 605 and the column606.

As shown in FIG. 6, cells that are marked with diagonal lines among thecells in the row 605 and the column 606, which have been inserted so asto separate the heading portions (i.e., the row heading portion and thecolumn heading portion) and the data portion, are unused cells. Cellswithout diagonal lines are used to enter information on a dimension ormeasure. For example, as the values of the dimension “prefecture” areinserted into the column 604 including a cell 607, the URI of thedimension corresponding to the prefecture is entered into the cell 607.Meanwhile, as a column heading that corresponds to each cell of a rowincluding a cell 608 represents a measure, the cell 608 is left empty.

By adopting such insertion rule, the template generating unit 405 candetermine, by checking if a cell is empty or not, whether a row headingor a column heading corresponding to the cell represents a dimension ora measure. Accordingly, all pieces of information for creating RDF canbe embedded in the table. The information herein is manually inserted bya user, for example. When the template table (i.e., intermediate table)shown in FIG. 6 is complete, the program can automatically generate datain the RDF format from data of the data portion.

Herein, all rows and columns that are automatically inserted into theoriginal table in generating a template table (i.e., intermediate table)are limited to column heading portions and row heading portions. Thatis, as the data portion is not changed at all, the basic structure ofthe original table is preserved. Accordingly, it is possible toreproduce the original table from the template table (i.e., intermediatetable) any time by hiding the inserted rows and columns. That is, a useris able to view or edit data on the original table. A process oftranslating a template table (i.e., intermediate table) into an originaltable will be described with reference to FIG. 17, and a process ofediting data (i.e., process of inserting or deleting rows/columns) willbe described with reference to FIGS. 18 and 19.

In the template table (i.e., intermediate table) proposed in thisembodiment, it is possible to not only enter a URI at a positionimmediately below (or above) each element of a column heading of theoriginal table (i.e., two-dimensional table) but also enter a URI to theimmediate right (or left) of a row heading. Therefore, a user is able topromptly find out missing URIs or erroneous entry of URIs. In addition,in the case of such template table (i.e., intermediate table), a user isable to view the values of a dimension, measures, and URIs, which arecollectively described in the column heading portion and the row headingportion, at once. Thus, the consistency of representation of URIs iseasy to maintain.

Hereinafter, how a template table to be generated would differ dependingon whether the original table contains a single measure or a pluralityof measures will be described with reference to FIGS. 7 to 10. FIG. 7shows an example of tabular data for a case where the original tablecontains a single measure. FIG. 9 shows an example of tabular data for acase where the original table contains a plurality of measures. FIG. 8shows an example of a template table generated from tabular data of asingle measure, and FIG. 10 shows an example of a template tablegenerated from tabular data of a plurality of measures. Hereinafter, acase where the original table contains a single measure and a case wherethe original table contains a plurality of measures will be sequentiallydescribed to illustrate that the template table (i.e., intermediatetable) shown in FIG. 6 is compatible with a variety of table formats.

FIG. 7 shows an example in which each of column headings and rowheadings of an original table is given by a dimension. A row 701 ofcolumn headings is given by the dimension “Industrial Classification,”and a column 702 of row headings is given by the dimension “Prefecture.”A measure is common to all pieces of data, and “sales amount” is set asthe measure, for example. However, information on the measure is oftennot described in the original table but is described in the title of thetable or the like in many cases. A table in such a format is referred toas a table of a single measure.

FIG. 8 shows an example of a template table generated from the originaltable shown in FIG. 7. The template table is generated in the sameprocedures as those for generating the table in FIG. 6. However, in thecase of the table of a single measure shown in FIG. 7, both the row 701of column headings and the column 702 of row headings are given bydimensions. Therefore, a dimension URI is entered into a cell 802located at the intersection of a row 803, which has been inserted belowthe row of column headings, and a column 805, which has been insertedbetween the row heading portion and the data portion (which is differentfrom FIG. 6). Therefore, the URI of a measure of each cell of the dataportion is entered into the cell 801 located at the intersection of therow 804 inserted between the row heading portion and the data portionand the column 805.

FIG. 9 shows an example of a complex table in which each of a columnheading portion and a row heading portion contains a plurality of rowsand columns. In the original table shown in FIG. 9, each of columns 903and 904 of row headings and a row 902 of column headings representsdimensions, while a row 901 of column headings represents measures. FIG.10 shows an example of a template table generated from the originaltable of a plurality of measures shown in FIG. 9. In the case of thetemplate table herein, a dimension URI is written into a cell 1013 atthe intersection of a row 1004, which has been inserted below a secondrow 1003 of column headings, and a column 1009, which has been insertedbetween the row heading portion and the data portion. It should be notedthat a cell 1012 at the intersection of a row 1002, which has beeninserted below a first row 1001 of column headings, and the column 1009,which has been inserted between the row heading portion and the dataportion, is empty since all of the elements in the corresponding row ofcolumn headings correspond to measures. It should be noted that asmeasure URIs are written into corresponding cells in the row 1002, acell 1011 located at the intersection of a row 1010, which has beeninserted between the heading portion and the data portion, and thecolumn 1009 remains empty (which is different from FIG. 8).

As described above, the template table proposed in this embodiment iscompatible with a case where heading portions (i.e., a row of columnheadings and a column of row headings) have (1) a combination ofheadings including “dimensions (values of a dimension)” and headingsincluding “measures,” (2) a combination of headings including“dimensions (values of a dimension),” (3) a combination of compositeheadings including “dimensions (values of a dimension) and measures” andheadings including “dimensions (values of a dimension), or the like.

(3) Editing Screen

FIG. 11 shows an example of an editing screen used by the table formatmulti-dimensional data translation device 400. An editing screen 1100 isused in not only a case where data in the RDF format is generated fromdata in a table format but also a case where data in a table format isgenerated from data in the RDF format. A display area for the tableformat and a display area for the RDF format, which correspond to thesame data, are displayed side by side. A user is able to mutuallytranslate the two pieces of data into each other on the editing screen1100. In addition, each individual display area can be used toindividually edit corresponding data.

The display area 1104 is an area for displaying data in a table format,while the display area 1105 is an area for displaying data in the RDFformat. The display area 1104 selectively displays not only an originaltable or a table created from data in the RDF format but also a templatetable. The display area 1105 displays the RDF-format data in a textformat as shown in FIG. 5. With the editing screen 1100, a user is ableto easily understand the content of the whole data and easily check thelink relationship of each cell.

When a table import button 1101 is clicked on the screen, the displaycontrol unit 409 displays a file selection screen on the editing screen1100. It should be noted that when a touch screen for enteringinformation is provided on the surface of the screen of the display 404,the mouse-click operation is replaced with a touch operation. Tabulardata that is a selection target is imported from the secondary storage411 or an external storage via the network 420. The display control unit409 displays a template table (i.e., intermediate table) generated fromthe imported tabular data on the display area 1104. In addition, thedisplay control unit 409, when a template table is displayed in thedisplay area 1104, displays information (e.g., dimension URIs,dimension's value URIs, and measure URIs) that is necessary to createRDF from the original table such that the information fills thecorresponding cells.

A display switch button 1102 is used to switch the format of a tabledisplayed on the display area 1104. For example, when the display switchbutton 1102 is clicked while a template table is displayed in thedisplay area 1104, the display control unit 409 hides the rows andcolumns that have been inserted in generating the template table,thereby restoring the display content to the original table. Meanwhile,when the display switch button 1102 is clicked while the original tableis displayed, the display control unit 409 displays the rows andcolumns, which have been hidden, again. That is, in this embodiment, thedisplay switch button 1102 functions as a toggle switch for switchingbetween a state in which the inserted rows and columns are displayed anda state in which the inserted rows and columns are not displayed.

By operating the display switch button 1102 in accordance with anintended purpose, a user is able to perform a desired operation byswitching the display state of the display area 1104. For example, wheninformation for creating RDF is entered, the display area 1104 is causedto display the inserted rows and columns (i.e., display a templatetable). When entry of the information for creating RDF is complete, theuser hides the inserted rows and columns to concentrate on viewing orediting data in the same display state as that in the original table.

When a table export button 1106 is clicked on the screen, the tableformat multi-dimensional data translation device 400 stores the tabledisplayed in the display area 1104 into the secondary storage 411, or anexternal storage connected via the network 420.

A translation button 1108 is clicked to translate data in the tableformat displayed in the display area 1104 into data in the RDF format.When the button is clicked, data in the RDF format, which is generatedfrom data in the table format displayed in the display area 1104, isdisplayed in the display area 1105. With such a function, a user is ableto easily generate RDF data that can be processed by a computer.

Besides, a RDF import button 1103 is used to import data in the RDFformat from the secondary storage 411 or an external storage connectedvia the network 420 and display the data in the display area 1105.

When a RDF export button 1107 is clicked on the screen, the input/outputcontrol unit 408 stores the data in the RDF format, which is displayedin the display area 1105, into the secondary storage 411 or an externalstorage connected via the network 420.

The translation button 1109 is clicked to translate data in the RDFformat, which is displayed in the display area 1105, into data in thetable format. When the button is clicked, data in the table format,which is generated from data in the RDF format displayed in the displayarea 1105, is displayed in the display area 1104. With such a function,a user is able to easily check the content of the table corresponding tothe RDF data.

FIG. 12 shows another exemplary editing screen. An editing screen 1200exclusively displays one of data in the table format or data in the RDFformat on the screen by switching between them. For switching thedisplay format, tabs 1201 and 1202 are used. The tab 1201 is clicked todisplay data in the table format on the screen. This corresponds to ascreen of the upper diagram of FIG. 12. The tab 1202 is clicked todisplay data in the RDF format on the screen. This corresponds to ascreen of the lower diagram of FIG. 12. It should be noted that in FIG.12, portions that correspond to those in FIG. 11 are denoted by the samereference numerals. When such a display format is adopted, the limiteddisplay size of the display 404 can be effectively used. That is, such adisplay format allows a user to easily check the table.

(4) Exemplary Processing Operation

Hereinafter, an exemplary processing operation that is implemented via aprogram executed by the CPU 401 will be described.

(4-1) Process of Generating Template Table from Tabular Data

First, a process that is executed when a user clicks the table importbutton 1101 will be described. That is, a process of generating atemplate table from the imported table will be described. FIG. 13 showsprocessing procedures for generating a template. It should be noted thatthe CPU 401 and the template generating unit 405 cooperatively executethe process shown in FIG. 13 in accordance with a program.

(Step 1301)

The CPU 401, upon detecting a click operation on the table import button1101, imports tabular data selected on the file selection screen intothe memory 402, and displays the imported tabular data on the editingscreen 1100 or the editing screen 1200.

(Step 1302)

When the original table is displayed in the display area 1104, uponinput of the start row and the start column of the data portion from auser, the template generating unit 405 stores the start row number andthe start column number as variables DR and DC. In the case of the tableshown in FIG. 9, the data start row DR is the third row, and the datastart column DC is the third column. Needless to say, it is alsopossible to adopt a method of causing the template generating unit 405to automatically estimate the data portion from uniformity of the formatof data (e.g., date and time format). Alternatively, it is also possibleto adopt a method of displaying an automatically estimated value on thescreen and receiving modification from a user as needed.

(Steps 1303 to 1304)

Upon determination of the variables DR and DC in the previous step, thetemplate generating unit 405 inserts one row above the data portion andalso inserts one column to the left of the data portion so as to preparea row and a column for entering information on dimensions and measures.Specifically, an empty row is inserted one row above the DR row, and anempty column is inserted one column left to the DC column. In thisspecification, a row and a column that are inserted between the dataportion and the heading portions (which are portions other than the dataportion and include row headings and column headings) are referred to asa template row and a template column, respectively. For example, whenthe table shown in FIG. 9 is provided, the template generating unit 405inserts a template row above the row 905 and inserts a template columnto the left of the column 906. That is, the row 1010 and the column 1009in FIG. 10 are inserted.

(Step 1305)

When such a template row and a template column are inserted into thetable, the template generating unit 405 highlights the cell 1011 at theintersection of the template row and the template column. FIG. 14 showsan exemplary display thereof. A cell that is highlighted is a targetcell into which information for creating RDF should be entered, and hasan advantageous effect in that it can prompt a user to enter suchinformation. Such highlight display can prevent the user from mistakenlyselecting a cell into which information cannot be entered.

(Step 1306)

Next, the template generating unit 405 inserts one empty row immediatelybelow the row of column headings (or, when there is a plurality of rowsof column headings, immediately below each individual row of columnheadings) to prepare a row for entering dimension's value and measure.Such inserted row is referred to as a URI row. FIG. 15 shows anexemplary display in which there are two rows of column headings. At thesame time, the template generating unit 405 highlights portions intowhich a user should enter information. Such highlight display canprevent the user from mistakenly selecting a cell into which informationcannot be entered.

(Step 1307)

After that, the template generating unit 405 updates the value of thedata start row DR. Specifically, the template generating unit 405doubles the value of the start row DR set in step 1302.

(Step 1308)

Further, the template generating unit 405 inserts one column to theimmediate right of the column of row headings (or, when there is aplurality of columns of row headings, such as column 1005 and column1007 in FIG. 10, template generating unit 405 inserts one column, suchas column 1006 and column 1008 in FIG. 10 to the immediate right of eachindividual column 1005 and column 1007 respectively) to prepare a rowfor entering dimension's value. At the same time, the templategenerating row 405 highlights portions into which a user should enterinformation. Such inserted column is referred to as a URI column. FIG.16 shows an exemplary display in which there are two columns 1005 and1007 of row headings. The highlight display in this case can alsoprevent the user from mistakenly selecting a cell into which informationcannot be entered.

(Step 1309)

After that, the template generating unit 405 updates the value of thedata start column DC. Specifically, the template generating unit 405doubles the value of the start column DC set in step 1302.

(Conclusion)

The template table is generated thorough the aforementioned process.Then, a user enters information for creating RDF into the highlightedcells in the template table. The template generating unit 405 stores theentered information in association with each cell. It should be notedthat when a history of data entered in the past, dictionary, and thelike are available, the template generating unit 405 may adopt amechanism of automatically entering information for creating RDF into acorresponding cell on the basis of information on the history,dictionary, and the like. When such automatic entering function ismounted, it becomes possible to reduce the burden on the user to enterinformation. Needless to say, both the following cases are conceivable:a case where not all pieces of information can be entered automaticallyand a case where automatically entered information contains errors.Thus, automatically entered information is desirably displayed in adisplay configuration that allows the user to check the enteredinformation.

(4-2) Process of Operating Display Switch Button

Next, a process that is executed when a user clicks the display switchbutton 1102 will be described. That is, a processing operation forswitching the display state of a table displayed in the display area1104 will be described. The display control unit 409, when the displayswitch button 1102 is clicked, determines if a template row/column and aURI row(s)/column(s) are already hidden. If the template row/column andthe URI row(s)/column(s) are already hidden, the CPU 401 cancels thehiding setting. Meanwhile, if the template row/column and the URIrow(s)/column(s) are not hidden, the display control unit 409 activatesthe hiding setting, and hides the target rows and columns in accordancewith the processing procedures shown in FIG. 17. The process shown inFIG. 17 is executed by the display control unit 409 in accordance with aprogram.

(Step 1701)

Herein, a template table to be processed by the display control unit 409is entered and displayed in the display area 1104.

(Step 1702)

The display control unit 409 hides the URI row(s) inserted immediatelybelow the row(s) of column headings. Each of such URI rows is aneven-numbered row. Thus, the display control unit 409 hides theeven-numbered row(s) in the range of up to two rows smaller than thestart row DR of the data portion.

(Step 1703)

Next, the display control unit 409 hides the URI column(s) inserted tothe immediate right of the column(s) of row headings. Each of such URIcolumns is an even-numbered column. Thus, the display control unit 409hides the even-numbered columns in the range of up to two columnssmaller than the start column DR of the data portion.

(Steps 1704-1705)

Next, the display control unit 409 hides the template row and thetemplate column. Specifically, the display control unit 409 hides a rowthat is one row smaller than the start row DR of the data portion and acolumn that is one column smaller than the start column DC of the dataportion.

(Conclusion)

When a function of switching the display configuration displayed in thedisplay area 1104 is mounted, a user is able to efficiently perform anediting operation. For example, when information for creating RDF isentered or when information that has been entered is checked, a templatetable that contains a template row/column and URI row(s)/column(s) aredisplayed on the screen. Meanwhile, when a user wants to checkinformation described in a table, a table in a secondary format, whichcontains no template row/column or URI rows/columns, is displayed on thescreen.

(4-3) Process of Inserting/Deleting Rows/Columns

A user is able to insert or delete rows and columns into/from a table(which includes not only the original table but also a template table)displayed in the display area 1104 as needed. It should be noted thatthe CPU 401 determines, before executing insertion/deletion of rows andcolumns, if the rows and columns are currently displayed on the screen.Hereinafter, a case where a template table is displayed in the displayarea 1104 will be described to simplify the description.

(Insertion of Rows/Columns)

First, processing procedures for inserting a new row into the existingtemplate table will be described with reference to FIG. 18. It should benoted that processing procedures for inserting a new column into theexisting template table are similar to those in FIG. 18. Thus,description thereof will be omitted.

(Step 1801)

The CPU 401 imports a template table to be edited, the number R of a rowto be inserted, and the start row DR of the data portion. The value ofthe start row DR is already known at a point in time when the templatetable was generated by importing the original table.

(Step 1802)

Next, the CPU 401 determines if the row to be inserted corresponds to atemplate row or a URI row. It is impossible to insert rows at suchlocations. Thus, when a template row or a URI row is designated as therow to be inserted, the process is terminated as it is. Meanwhile, whenthe row to be inserted is neither a template row nor a URI row, the CPU401 proceeds to step 1803.

(Step 1803)

The CPU 401 determines if the value of the location of the row to beinserted (i.e., the row number: R) is smaller than the data start rowDR. That is, the CPU 401 determines if the row to be inserted belongs tothe column heading portion or belongs to the data portion. If it isdetermined that the row is to be inserted into the column headingportion, the CPU 401 executes processes of step 1804 and the followingsteps. Meanwhile, if it is determined that the row is to be insertedinto the data portion, the CPU 401 executes processes of step 1807 andthe following steps.

(Step 1804)

Herein, the CPU 401 actually inserts the row into the template table. Inthis case, the inserted row is a row of column headings. Thus, a URI row(one row) is also concurrently inserted to allow entry of informationfor creating RDF. Such a function can avoid failures to enterinformation for creating RDF.

(Steps 1805 to 1806)

Next, the CPU 401 highlights a cell into which information for creatingRDF should be entered. Such highlight display can prevent a user frommistakenly selecting a cell into which information cannot be entered.When predetermined information is entered into the highlighted cell, theentered information is held. Next, the CPU 401 updates the value of thestart row DR of the data portion. Since two rows were added in step 1804above, the value of the start row DR is updated to DR+2.

(Steps 1807 to 1808)

Meanwhile, if it is determined that the row is to be inserted into thedata portion, a URI row need not be added unlike a case of inserting therow into the column heading portion. Thus, the CPU 401 inserts an emptyrow to at the designated row number R. Next, the CPU 401 highlights acell, of the inserted row, located to the left of the start column DC ofthe data portion.

(Deletion of Row/Column)

Next, processing procedures for deleting a given row from the existingtemplate table will be described with reference to FIG. 19. It should benoted that processing procedures for deleting a given column from theexisting template table are similar to those in FIG. 19. Thus,description thereof will be omitted.

(Step 1901)

The CPU 401 imports a template table to be edited, the number R of a rowto be deleted, and the start row DR of the data portion. The value ofthe start row DR is already known at a point in time when the templatetable was generated by importing the original table.

(Step 1902)

Next, the CPU 401 determines if the row to be deleted corresponds to atemplate row or a URI row. Such row is not allowed to be deleted. Thus,when a template row or a URI row is designated as the row to be deleted,the process is terminated as it is. Meanwhile, when the row to bedeleted is neither a template row nor a URI row, the CPU 401 proceeds tostep 1903.

(Step 1903)

The CPU 401 determines if the value of the location of the row to bedeleted (i.e., the row number: R) is smaller than the data start row DR.That is, the CPU 401 determines if the row to be deleted belongs to thecolumn heading portion or the data portion. When the row to be deletedis the row in the column heading portion, the CPU 401 executes processesof step 1904 and the following step.

(Steps 1904 to 1905)

Herein, the CPU 401 actually deletes the row from the template table. Insuch a case, the deleted row is a row of column headings. Thus, the URIrow (one row) is also concurrently deleted. Such a function caneliminate a possibility that unnecessary data may remain in the templatetable. Next, the CPU 401 updates the value of the data start row DR toDR-2.

(Step 1906)

Meanwhile, when the row to be deleted is the row of the data portion,the CPU 401 deletes the designated row. As described above, in the caseof this embodiment, unnecessary information of the row heading portioncan be deleted at once. Meanwhile, in the method of managing informationfor creating RDF by defining it at a place other than a template table,it would be necessary to search for information for creating RDF anddelete it. That is, it would be necessary to execute a process ofsearching for an element in each column of row headings corresponding tothe row to be deleted and delete information for creating RDF of thecorresponding element.

However, in the case of the template table proposed in this embodiment,the original table structure is held as it is. Thus, when a data row isdeleted, information on the associated row heading portion can also beautomatically deleted.

(4-4) Translation of Data in Table Format into Data into RDF Format

Next, a process that is executed when a user clicks the translationbutton 1108 will be described. That is, a processing operation for whendata in a table format that is displayed in the display area 1104 istranslated into data in the RDF format and is displayed in the displayarea 1105 will be described. Herein, it is assumed as a preconditionthat even when an original table is displayed in the display area 1104,a corresponding template table is already generated. Hereinafter,processing procedures for translating data in a table format into datain the RDF format will be described with reference to FIG. 20.

(Step 2001)

First, the RDF translating unit 406 imports a template table to betranslated and the start row DR and the start column DC of the dataportion.

(Step 2002)

Next, the RDF translating unit 406 determines if there is a value at theintersection of a template row and a template column. Specifically, theRDF translating unit 406 determines if a cell at the coordinates(DR-1,DC-1) is empty (blank). For example, in the case of the templatetable shown in FIG. 8, if a cell denoted by reference numeral 801 isempty (blank) is determined, while in the case of the template tableshown in FIG. 10, if a cell denoted by reference numeral 1011 is empty(blank) is determined.

A template table that has a value at a cell of the intersection is a“table of a single measure.” The template table in FIG. 8 corresponds tothis case. If the template table is determined to be a “table of asingle measure,” the RDF translating unit 406 proceeds to step 2003.Meanwhile, a template table that has no value at a cell of theintersection is a “table of a plurality of measures.” The template tablein FIG. 10 corresponds to this case. If the template table is determinedto be a “table of a plurality of measures,” the RDF translating unit 406proceeds to step 2008.

(Step 2003)

The RDF translating unit 406 determines the value of the cell located atthe intersection of the template row and the template column to be ameasure URI. A measure that is identified by such measure URI is ameasure of all pieces of data that are described in the data portion ofthe table.

(Steps 2004-2006)

Next, the RDF translating unit 406 extracts dimension URIs anddimension's value URIs from the URI row (each even-numbered row locatedabove the start row DR of the data portion) and the URI column (eacheven-numbered column located to the left of the start column DC of thedata portion). It should be noted that in the case of a table of asingle measure, all pieces of information on the URI row and the URIcolumn in the column heading portion and the row heading portion arenecessarily information about dimensions. Therefore, the RDF translatingunit 406 can extract dimension URIs and dimension's value URIs from theURI row and the URI column.

(Steps 2008-2012)

Next, a case where a positive result is obtained in step 2002 will bedescribed. In this case, the cell at the intersection that represents aninspection target is empty. Thus, the table to be translated is a “tableof a plurality of measures.” For example, the template table shown inFIG. 10 corresponds to this case. In such a case, a plurality ofmeasures is embedded in any of the rows of column headings or thecolumns of row headings.

Thus, the RDF translating unit 406 first executes a process of searchingfor a URI row or a URI column in which measures are embedded. In thiscase, the RDF translating unit 406 determines if a cell at theintersection of the URI row of the column heading portion (eacheven-numbered row located above the start row DR of the data portion)and the template column is empty (blank), or determines if a cell at theintersection of the URI column (each even-numbered column located to theleft of the start column DC of the data portion) and the template row isempty (blank).

If measures are embedded, a cell at the intersection of a correspondingURI row and the template column or a cell at the intersection of acorresponding URI column and the template row should be empty (blank).Step 2009 corresponds to the determination of such condition. Thus, theRDF translating unit 406 extracts a set of measure URIs from the URI rowor the URI column whose cell at the intersection is empty. Meanwhile,the RDF translating unit 406 extracts dimension URIs and dimension'svalue URIs from a URI row or a URI column whose cell at the intersectionis not empty.

(Step 2007)

Through the aforementioned process, the URIs of “measures,”“dimensions,” and “values of a dimension” that correspond to a givendata cell can be extracted. Thus, the RDF translating unit 406translates data in given data cells into RDF using such information.

(4-5) Translation of Data in RDF Format into Data in Table Format

Finally, a process that is executed when a user clicks the translationbutton 1109 will be described. That is, processing operations fortranslating data in the RDF format, which is displayed in the displayarea 1105, into data in a table format and displaying the resultant datain the display area 1104 will be described. Hereinafter, processingprocedures for translating data in the RDF format into data in a tableformat will be described with reference to FIG. 21.

(Step 2101)

First, the table translating unit 407 creates a set R by collectingthree elements called a triple (s, p, o) from data in the RDF formatthat is displayed in the display area 1105. The RDF format uses threeelements (i.e., triple) including a subject s, a predicate, and anobject to represent that the feature or the attribute of s is o. Whenthe network representation in FIG. 3 is referred to, the subjectcorresponds to a node that is the source of a link, the predicatecorresponds to the link, and the object corresponds to a node that isthe destination of the link. The example in FIG. 3 includes threetriples.

(Step 2102)

Next, the table translating unit 407, after extracting predicates p,which represent measures, from the set R of triples, sorts thepredicates p in a given order to create a list PA. Hereinafter, anexample in which data in the RDF format, which has been created bytranslating data in the table format shown in FIG. 9, is used as aninput and such data is translated into data in the table format againwill be described. In this case, the “shipment value of products” andthe “number of employees” represent measures. Accordingly, a list PA forthe [shipment value of products and number of employees] is created.Although the actual measures are represented by URIs, they arerepresented by character strings herein for the convenience of thedescription.

(Step 2103)

The table translating unit 407, after extracting predicates p, whichrepresent dimensions, from the set R of triples, sorts the predicates pin a given order to create a dimension list PD. In the example shownherein, a dimension list PD for [prefecture, city, year] is created, forexample.

(Step 2104)

The table translating unit 407, after extracting only subjects from theset R of triples, sorts the subjects in a given order to create a listS. The number of subjects correspond to the number of data cells. Thetable exemplarily shown in FIG. 9 contains eight data cells. Thus, thenumber of subjects is also eight.

(Step 2105)

The table translating unit 407 creates a list pv of dimension's valuesthat has a length corresponding to the number of dimensions |PD| foreach element of the list S. In the example herein, the dimension list PDhas three elements. Thus, a list pv of dimension's values having alength of three is created. A corresponding value of a dimension isentered into each element of the list pv. For example, a list pv ofdimension's values for the three rows×three columns of cells in FIG. 9corresponding to [Hokkaido, Sapporo-city, 2010] is created. The numberof the thus created lists pv of dimension's values is equal to thenumber of subjects s, and correspond one-to-one to the subjects.

Next, the table translating unit 407 creates a list PVU by performingmulti column sorting on a set of the lists pv of dimension's valuesbased on the N-th element of a list pv of dimension's values as a key.As mentioned above, the lists pv of dimension's values correspondsone-to-one to the subjects s. Therefore, when multi column sorting isperformed on the lists pv of dimension's values, the subjects s arerearranged in conjunction therewith. Further, the table translating unit407 obtains the list PVU by eliminating overlaps of elements in thesorted lists pv of dimension's value.

Through the aforementioned processes, preparation for a translationprocess is complete. Then, the data is arranged in the table format.When there is a plurality of measures, the table translating unit 407arranges only the measures in the column heading portion, and arrangesall dimensions in the row heading portion. Meanwhile, when there is asingle measure, the table translating unit 407 adequately dividesdimensions, arranges one (some) of them in the column heading portion,and arranges the other dimension(s) in the row heading portion. AlthoughFIG. 21 shows an example of processing procedures that are applied whenthere is a plurality of measures, it is also easily applicable to a casewhere there is a single measure.

(Steps 2106-2108)

First, the table translating unit 407 forms a column heading portion,and then forms a row heading portion in the following steps 2107 and2108. Specifically, the table translating unit 407 sequentially arrangeselements of the list PA as measures in the column heading portion, andsequentially arranges elements of the list PD as dimension names in therow heading portion. In this case, the i-th element of the list PVU isset as an element of a column of row-headings in the i+1-th row.

FIG. 22 shows an exemplary structure of the thus created table. Herein,not a template table but a table for humans are described to simplifythe description. However, in practice, dimension URIs, dimension's valueURIs, and measure URIs are arranged in a URI row(s) and a URI column(s)of the template table. It should be noted that the structure of thetable created herein is only exemplary, and can typically have aplurality of structures.

As described in step 2106, elements of the list PA are arranged as theyare as measures in the column heading portion. Meanwhile, elements ofthe list PVU are sequentially arranged as dimensions from the top in therow heading portion. FIG. 22 shows the arrangement relationship thereof.

(Step 2109 to Step 2111)

The structure of the table is determined as described above. The tabletranslating unit 407 fills the data cells by determining to which datacell each element S[i] of the subject S corresponds. FIG. 23 shows a setof triples R each having the element S[1] as a subject. First, a triplewhose subject is the element S[1] and whose predicate is a measure isretrieved. Such a triple can be uniquely determined as only one cellcontains a measure. Herein, it is seen that a triple denoted byreference numeral 2301 is found, and the measure of the element S[1] isthe “number of employees.” The column number of the element S[1] isdetermined by searching the measure list PA. Next, the row number of theelement S[i] is also determined by searching the list PVU for thedimension list [Hokkaido, Sapporo-city, 2011] of the element S[1].

Finally, the table translating unit 407 enters the object of a triplewhose subject is the element S[i] and whose predicate is as anattribute, as the value of the data cell identified in theaforementioned process. When such a process is repeated for all elementsof the subject S, all pieces of data can be arranged in the data cellsof the table. Using the method described herein can create a table in agiven data format, inclusive of a case where there is a plurality ofdimensions and a plurality of measures.

(4-5) Conclusion

The aforementioned description is based on the premise that data in theRDF format is acquired from the secondary storage 411 or the network 420through a click operation on the RDF import button 1103. However, it isalso possible to adopt a method of acquiring data in the RDF formatthrough search. Data in the RDF format can be flexibly retrieved when aquery language called SPARQL (SPARQL Protocol and RDF Query Language) isused. For example, it is possible to retrieve the total number of patentapplications of each prefecture and the sum total of the researchinvestment expenses of each prefecture from different sources andintegrate them.

However, as the search results are represented in the RDF format, theyare not easy to view for humans. Thus, when search result data in theRDF format is imported into the display area 1105 and the translationbutton 1109 is clicked, the search result data is allowed to be viewedin a table format. Further, if necessary, it is also possible to modifydata on the table and click the translation button 1108 to restore thedata to the RDF format. As described previously, although it would beburdensome to edit data in the RDF format, this embodiment allows anoperation of checking or editing data in the RDF format to efficientlyadvance by clicking the translation buttons 1108 and 1109.

(6) Advantageous Effects

A table format multi-dimensional data translation device in accordancewith this embodiment creates, without making any changes to the dataportion of an original table that has been entered, a template table(i.e., intermediate table) by embedding into the original tableinformation that is necessary to translate the original table into datain the RDF format. Therefore, it is possible to translate each data ofthe data portion of the original table into data in the RDF format whilealways allowing the data to be viewed or edited on the original table.

In addition, in the case of this embodiment, all pieces of informationthat are necessary can be embedded into a table that is entered. Thus,data management is easy to perform. In addition, as the elements ofcolumn headings and row headings and URIs (IDs) associated therewith aredisplayed side by side, it is possible to avoid failures to enter URIsor avoid erroneous entry of URIs. Further, as a list of the associatedURIs can be viewed on the screen, it is easy to maintain the coherenceof the URIs.

(7) Other Embodiments

It should be noted that the present invention is not limited to theaforementioned embodiments, and includes a variety of variations. Forexample, although the aforementioned embodiments have been described indetail to clearly illustrate the present invention, the presentinvention need not include all of the structures described in theembodiments. It is possible to replace a part of a structure of anembodiment with a structure of another embodiment. In addition, it isalso possible to add, to a structure of an embodiment, a structure ofanother embodiment. Further, it is also possible to, for a part of astructure of each embodiment, add/remove/substitute a structure ofanother embodiment.

Some or all of the aforementioned structures, functions, processingunits, processing means, and the like may be implemented as anintegrated circuit or other hardware, for example. Alternatively, eachof the aforementioned structures, functions, and the like may beimplemented through analysis and execution of a program that implementseach function by a processor. That is, each of the aforementionedstructures, functions, and the like may also be implemented as software.Information such as the program that implements each function, tables,and files can be stored in a storage device such as memory, a hard disk,or a SSD (Solid State Drive); or a storage medium such as an IC card, anSD card, or a DVD.

In addition, the control lines and information lines represent thosethat are considered to be necessary for the description, and do notnecessarily represent all control lines and information lines that arenecessary for a product. Thus, in practice, almost all structures may beconsidered to be mutually connected.

DESCRIPTION OF SYMBOLS

-   400 Table format multi-dimensional data translation device-   401 CPU-   402 Memory-   403 Keyboard/mouse-   404 Display-   405 Template generating unit-   406 RDF translating unit-   407 Table translating unit-   408 Input/output control unit-   409 Display control unit-   410 Data communication unit-   411 Secondary storage-   420 Network

What is claimed is:
 1. A table format multi-dimensional data translationdevice comprising: a first processing unit configured to insert, into anoriginal table comprising a plurality of rows each comprising one ormore cells and a plurality of columns each comprising one or more cells,a first row below each row of one or more rows of a column headingportion of the original table, each of the one or more rows of thecolumn heading portion comprising one or more column headings eachtraversing one or more columns; enter, into each cell of each insertedfirst row, an ID of a corresponding column heading of the one or morecolumn headings of the column heading portion; insert a first column tothe right of each column of one or more columns of a row heading portionof the original table, each column of the row heading portion comprisingone or more row headings each traversing one or more rows; and enter,into each cell of each inserted first column, an ID of a correspondingrow heading; a second processing unit configured to: insert a second rowbetween the column heading portion and a data portion of the originaltable comprising a plurality of rows and columns, insert a second columnbetween the row heading portion and the data portion, determine, foreach of the one or more inserted first rows of the column headingportion, whether a corresponding first row indicates a value of adimension; determine, for each of the one or more inserted first columnsof the column heading portion, whether a corresponding first columnindicates a value of a dimension; if it is determined that thecorresponding first row of the column heading portion of the originaltable indicates a value of a dimension, enter an ID of the dimension ofthe corresponding first row into a cell at an intersection of theinserted second column and the corresponding first row and if it isdetermined that the corresponding first row of the column headingportion does not indicate a value of a dimension, do not enter the ID ofthe dimension of the corresponding first row into the cell at theintersection of the inserted second column and the corresponding firstrow; if it is determined that the corresponding first column of the rowheading portion indicates a value of a dimension, enter an ID of thedimension of the corresponding first column into a cell at anintersection of the inserted second row and the corresponding firstcolumn and if it is determined that the corresponding first column ofthe row heading portion does not indicate a value of a dimension, do notenter the ID of the dimension of the corresponding first column into thecell at the intersection of the inserted second row and thecorresponding first column; if it is determined that each of the one ormore inserted first rows of the column heading portion indicate a valueof a dimension and each of the one or more inserted first columns of therow heading portion indicate a value of a dimension, enter an ID of ameasure into a cell at an intersection of the inserted second row andthe inserted second column; if it is determined that at least one of:(i) each of the one or more inserted first rows of the column headingportion do not indicate a value of a dimension and (ii) each of the oneor more inserted first columns of the row heading portion do notindicate a value of a dimension, do not enter an ID of the measure intothe cell at the intersection of the inserted second row and the insertedsecond column; and a third processing unit configured to: identify fromeach cell of a data portion of a template table created by the first andsecond processing units, template information including a correspondingdimension, a corresponding value of the corresponding dimension, and acorresponding measure entered in the cells of each of the one or morerows of the column heading portion and the cells of each of the one ormore columns of the row heading portion; and output the templateinformation as data in a Resource Description Framework (RDF) format. 2.The table format multi-dimensional data translation device according toclaim 1, further comprising a display control unit configured to displayon a display screen a first display area for displaying the originaltable or the template table and a second display area for displaying thedata in the RDF format.
 3. The table format multi-dimensional datatranslation device according to claim 2, wherein the display controlunit displays the first and second display areas side by side on thedisplay screen.
 4. The table format multi-dimensional data translationdevice according to claim 2, wherein the display control unit switchablydisplays one of the first display area or the second display area on thedisplay screen.
 5. The table format multi-dimensional data translationdevice according to claim 2, wherein the display control unit switchablydisplays one of the original table or the template table on the firstdisplay area.
 6. The table format multi-dimensional data translationdevice according to claim 2, wherein the display control unit visuallyindicates one or more cells to which an ID of a corresponding columnheading of the one or more column headings is to be entered and visuallyindicates one or more cells to which an ID of a corresponding rowheading of the one or more row headings is to be entered.
 7. The tableformat multi-dimensional data translation device according to claim 2,wherein the display control unit visually indicates one or more cells towhich an ID of a dimension or an ID of a measure of a correspondingfirst column is to be entered and visually indicates one or more cellsto which an ID of a dimension or an ID of a measure is to be entered. 8.The table format multi-dimensional data translation device according toclaim 2, wherein the display control unit displays a button fortranslating the original table or the template table displayed in thefirst area into data in the RDF format.
 9. The table formatmulti-dimensional data translation device according to claim 2, whereinthe display control unit displays a button for translating the data inthe RDF format displayed in the second area into the original table orthe template table.
 10. The table format multi-dimensional datatranslation device according to claim 9, further comprising: a sixthprocessing unit configured to, when the button is operated, generate,for each of the one or more first rows and columns, the second row andthe second column, a set of three elements, representing a measure or adimension, from the data in the RDF format, including a subject, apredicate and an object; a seventh processing unit configured to,extract predicates from the data, and after extracting the predicatesrepresenting a measure from a corresponding set, sort the predicates ina given order to generate a first list; an eighth processing unitconfigured to, after extracting predicates representing a dimension froma corresponding set, sorts the predicates in a given order to generate asecond list; a ninth processing unit configured to, after extractingsubjects from the corresponding set, sorts subjects in a given order togenerate a third list; a tenth processing unit configured to generate,for each element of the third list, a fourth list having a lengthcorresponding to a number of dimensions; an eleventh processing unitconfigured to generate a fifth list by performing multi column sortingon an i-th (where i is a natural number) element of the fourth list; atwelfth processing unit configured to delete overlaps of elements in thefifth list; a thirteenth processing unit configured to arrange eachelement of the first list as a corresponding measure in the columnheading portion; a fourteenth processing unit configured to arrange eachelement of the second list as a dimension name in the row headingportion; a fifteenth processing unit configured to arrange a j-th (wherej is a natural number) element of a sixth list as an element of a j+1-throw heading; and a sixteenth processing unit configured to perform aprocess of searching each element of the third list for the set toidentify an index of the corresponding measure, a process of searchingfor an element of the sixth list that matches an element of the fifthlist to identify an index of the dimension, and a process of arrangingan object identified in the process of identifying the index of thecorresponding measure in a cell that is given by the two identifiedindices.
 11. A table format multi-dimensional data translation computerimplemented method comprising: generating a template table by:inserting, into an original table comprising a plurality of rows eachcomprising one or more cells and a plurality of columns each comprisingone or more cells, a first row below each row of one or more rows of acolumn heading portion of the original table, each of the one or morerows of the column heading portion comprising one or more columnheadings each traversing one or more columns; entering, into each cellof each inserted first row, an ID of a corresponding column heading ofthe one or more column headings of the column heading portion; insertinga first column to the right of each column of one or more columns of arow heading portion of the original table, each column of the rowheading portion comprising one or more row headings each traversing oneor more rows; and entering, into each cell of each inserted firstcolumn, an ID of a corresponding row heading; inserting a second rowbetween the column heading portion and a data portion of the originaltable comprising a plurality of rows and columns, inserting a secondcolumn between the row heading portion and the data portion,determining, for each of the one or more inserted first rows of thecolumn heading portion, whether a corresponding first row indicates avalue of a dimension; determining, for each of the one or more insertedfirst columns of the column heading portion, whether a correspondingfirst column indicates a value of a dimension; if it is determined thatthe corresponding first row of the column heading portion of theoriginal table indicates a value of a dimension, entering an ID of thedimension of the corresponding first row into a cell at an intersectionof the inserted second column and the corresponding first row and if itis determined that the corresponding first row of the column headingportion does not indicate a value of a dimension, not entering any IDinto the cell at the intersection of the inserted second column and thecorresponding first row; if it is determined that the correspondingfirst column of the row heading portion indicates a value of adimension, entering an ID of the dimension of the corresponding firstcolumn into a cell at an intersection of the inserted second row and thecorresponding first column and if it is determined that thecorresponding first column of the row heading portion does not indicatea value of a dimension, not entering any ID into the cell at theintersection of the inserted second row and the corresponding firstcolumn; if it is determined that each of the one or more inserted firstrows of the column heading portion indicate a value of a dimension andeach of the one or more inserted first columns of the row headingportion indicate a value of a dimension, entering an ID of a measureinto a cell at an intersection of the inserted second row and theinserted second column; if it is determined that at least one of: (i)each of the one or more inserted first rows of the column headingportion do not indicate a value of a dimension and (ii) each of the oneor more inserted first columns of the row heading portion do notindicate a value of a dimension, not entering an ID of a measure into acell at an intersection of the inserted second row and the insertedsecond column; and identifying, from each cell of a data portion of thegenerated template table, template information including a correspondingdimension, a corresponding value of the corresponding dimension, and acorresponding measure entered in the cells of each of the one or morerows of the column heading portion and the cells of each of the one ormore columns of the row heading portion; and outputting the informationas data in a RDF format.
 12. The method according to claim 11, furthercomprising displaying on a display screen a first display area fordisplaying the original table or the template table and a second displayarea for displaying the data in the RDF format.
 13. The method accordingto claim 12, wherein further comprising displaying the first and seconddisplay areas side by side on the display screen.